package com.tongzhan.service;

import com.tongzhan.base.Return;
import com.tongzhan.entity.religion.Bill;

import java.util.List;

public interface BillService {

    /**
     * 新增财务
     *
     * @param userId
     * @param bill
     * @return
     */
    Return newBill(String userId, Bill bill);

    /**
     * 获取财务列表
     *
     * @param userId
     * @param year
     * @param religionCode
     * @param siteCode
     * @param state
     * @param page
     * @param size
     * @param month
     * @return
     */
    Return getBillList(String userId, String year, String religionCode, String siteCode, Integer state, Integer page, Integer size, String month);

    /**
     * 获取本月和上月累计余额
     *
     * @param userId
     * @return
     */
    Return getAmount(String userId);

    /**
     * 财务详情
     *
     * @param billCode
     * @return
     */
    Return billDetails(String billCode);

    /**
     * 获取财务类型列表
     *
     * @param type 0-收入类 1-支出类
     * @param religionCode
     * @return
     */
    Return getBillTypeList(Integer type, String religionCode);

    /**
     * 编辑财务类型
     *
     * @param billTypeCode
     * @param billTypeName
     * @param type
     * @param religionCode
     * @return
     */
    Return editBillType(String billTypeCode, String billTypeName, Integer type, String religionCode);

    /**
     * 删除财务类型
     *
     * @param billTypeCode
     * @return
     */
    Return deleteBillType(String billTypeCode);

    /**
     * 查询该季度上报过财务的信息
     *
     * @param year
     * @param month
     * @param dutiesCode
     * @return
     */
    List<String> selectReport(String year, String month, String dutiesCode);

    /**
     * 删除财务
     *
     * @param billCode
     */
    void delete(String billCode);
}
